package web.administrador;

import web.usuarios.*;
import Persistencia.*;
import org.springframework.web.servlet.mvc.SimpleFormController;
import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.view.RedirectView;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import controladores.*;
import dominio.FisioterapeutaDomain;
import dominio.SesionDomain;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

/*
 * Este controlador se encarga de modificar un fisioterapeuta
 * y retornar la lista con los fisioterapeutas actualizada
 */


public class ControladorSimpleModificarFisioterapeuta extends SimpleFormController{

    ControladorFisioterapeuta controlador;
    Fisioterapeuta obj;
    FisioterapeutaDomain objDomain;

    @Override
    public ModelAndView onSubmit(Object command) throws ServletException {
        controlador = new ControladorFisioterapeuta();
        //obj=(Fisioterapeuta) command;
        objDomain = (FisioterapeutaDomain) command;
        System.out.println("objeto "+obj);
        controlador.setFisioterapeuta(objDomain);
        controlador.modificarFisioterapeuta();
        if(obj!=null){
            return new ModelAndView("administrarFisioterapeutas", "model", controlador.encontrarFisioterapeutas());
        }else{
            return new ModelAndView("administrarFisioterapeutas", "model", controlador.encontrarFisioterapeutas());
        }
    }

    protected Object formBackingObject(HttpServletRequest request) throws ServletException {
        controlador = new ControladorFisioterapeuta();
        //Fisioterapeuta log = controlador.buscarFisioterapeuta(request.getParameter("id_fisio"));
        FisioterapeutaDomain log = controlador.convertirDomain(controlador.buscarFisioterapeuta(request.getParameter("id_fisio")));
        return log;
    }

    public void setControladorFisioterapeuta(ControladorFisioterapeuta productManager) {
        this.controlador = productManager;
    }

    public ControladorFisioterapeuta getControladorFisioterapeuta() {
        return controlador;
    }


    @SuppressWarnings("unchecked")
    @Override
    protected Map referenceData(HttpServletRequest request) throws Exception {
        Map referenceData = new HashMap();
        controlador = new ControladorFisioterapeuta();
        String idFisio=request.getParameter("id_fisio");
        Fisioterapeuta log = controlador.buscarFisioterapeuta(idFisio);
        List<String> anos=new ArrayList();
        List<String> meses=new ArrayList();
        List<String> dias=new ArrayList();
        java.util.Date date = new java.util.Date();
        System.out.println(date.getYear());
        for(int i=1900;i<=(1900+date.getYear());i++){
            anos.add(""+i);
        }
        System.out.println(anos);
        for(int i=1;i<13;i++){
            meses.add(""+i);
        }
        for(int i=1;i<32;i++){
            dias.add(""+i);
        }
        referenceData.put("anos", anos);
        referenceData.put("dias", dias);
        referenceData.put("meses", meses);
        referenceData.put("diaEscogido", log.getFechaNacimiento().split("/")[0]);
        referenceData.put("mesEscogido", log.getFechaNacimiento().split("/")[1]);
        referenceData.put("anoEscogido", log.getFechaNacimiento().split("/")[2]);
        return referenceData;
    }
}
